import * as Icons from '@ant-design/icons';
import type { ComponentType } from 'react';
import { createElement } from 'react';
/**
 * 根据图标名称渲染Ant Design图标
 * @param iconName 图标名称（如"HomeOutlined"）
 * @returns 图标组件或null
 */
export const renderIcon = (iconName: string) => {
    if (!iconName) return null;

    // 从Icons中获取图标组件，明确类型为React组件
    const IconComponent = Icons[iconName as keyof typeof Icons] as ComponentType | undefined;

    // 严格检查组件是否为有效的React组件
    // 检查组件是否有效
    if (!IconComponent) return null;

    // 使用React.createElement统一创建组件，兼容函数组件和类组件
    return createElement(IconComponent);

};
